package shujia.day06;

/*
    使用多态的弊端：无法使用子类中特有的成员方法
 */
class Fu2{

}

class Zi2 extends Fu2{
    public void show1(){
        System.out.println("好好学习，天天向上！");
    }
}

public class DuoTaiDemo4 {
    public static void main(String[] args) {
//        Zi2 zi2 = new Zi2();
//        zi2.show1();

        //向上转型
        Fu2 f1 = new Zi2();
//        f1.show1(); // 多态访问成员方法编译看左，父类中若没有该方法，就报错

        //向下转型
        Zi2 z1 = (Zi2)f1;
        z1.show1();
    }
}

/*
    曹操和曹植的故事：
    class 曹操{
        fun1(){
            带兵打仗
        }
    }

    class 曹植 extends 曹操{
        fun1(){
            下棋
        }

        show(){
            绘画
        }
    }

有一天，曹操带兵外出打仗，这时，邻国的敌人攻打过来了，需要战士们抵抗，但是战士只听从曹操的指挥
于是曹植想到一个办法，于是开始装爹。换上爹的衣服，粘上假胡子等等
曹操 c1 = new 曹植();  //向上转型
c1.fun1();
//c1.show();
当爹回来的时候，脱下爹的衣服，撕掉假胡子
曹植 c2 = (曹植)c1; // 向下转型
c1.fun1();
c1.show();
 */
